Packet switching networks are commonly employed to transfer digital information over long distances. More recent packet switching networks are also known as cell relay networks. A typical cell relay network is comprised of a set of cell switching communication controllers coupled together for communication over long distance communication links. A cell relay network enables a variety of communication devices coupled to local communication links to share the common carrier communication links. A cell relay network enables the communication devices to transfer digital information over the common carrier communication links on a demand driven basis. The demand driven sharing of the common carrier communication links reduces the cost of maintaining a long distance communication network.
The capacity of a cell network is usually limited by the bandwidth and connectivity of the cell switching communication controllers. For example, the topology of a typical cell network requires the communication controllers to perform high speed tandem switching. Tandem switching occurs when a communication controller receives a communication cell over one communication link, and transmits the communication cell over another communication link to route the communication cell to the proper destination.
A typical prior communication controller is comprised of a set of communication modules for transmitting and receiving high speed digital information over a communication link. During tandem switching, one communication module receives a communication cell over a communication link, and transfers the communication cell to another communication module which transmits the communication cell over another communication link. Each communication controller typically contains one or more first in first out cell queues for buffering the communication cells.
Typically, a cell network is required to support a variety of differing of data services. The differing data services include constant bit rate (CBR) services and variable bit rate (VBR) services. An example CBR service is a circuit emulation service that replaces conventional time division multiplex transmission service. An example VBR service is a bursty data service for a local area network.
A typical cell network allocates a set of service parameters to each data service. The service parameters include bandwidth, delay, and loss probability.
One typical prior communication controller implements a priority based cell queue mechanism wherein separate cell queues buffer the CBR traffic and the VBR traffic. The CBR traffic cell queues usually are assigned a higher service priority than the VBR traffic cell queues because CBR traffic is typically less tolerant of delays than VBR traffic.
Unfortunately in such systems, differing service types must be coupled through a common cell queue. Moreover, the high priority cell queues use most of the bandwidth of a communication link. As a consequence, such priority based cell queue mechanisms cannot allocate spare bandwidth fairly across the differing service types.
For example, such priority based cell queue mechanisms cannot fairly allocate bandwidth according to cell delay variation. The cell delay variation for a data service is a statistical measure of a random time interval between arrival of communication cells at a destination. Some CBR services demand limited cell delay variation, while other CBR services tolerate relatively wide cell delay variation.
In a priority based cell queue mechanism, the CBR services having a limited cell delay variation requirement and the CBR services having a wide cell delay variation requirement are typically assigned to a high priority cell queue because the cell delay variation of the lower priority queues cannot be guaranteed. As a consequence, the CBR services tolerant of wide cell delay variation use spare bandwidth that could otherwise be allocated to other services.
In addition, priority base cell queue mechanisms that allocate lower service priority to the VBR traffic cell queues are subject to cell queue overruns during VBR communication cell bursts. The cell queue overruns cause VBR communication cell losses. Moreover, the VBR services are subiect to delays because the VBR traffic have a lower service priority even if the VBR service is relatively intolerant of delays.